package it.banca.terra.interfaces;

/**
 * Interfaccia conto di un cliente.
 * @author Gruppo Terra
 */
public interface IConto {
	/** 
	 * Metodo che restituisce il numero del Conto.
	 * @return {@link Integer}	Numero del conto.
	 */
	int getNumConto();

	/** 
	 * Metodo che setta il numero del Conto.
	 * @param numConto	Numero da assegnare al conto.
	 */
	void setNumConto(int numConto);

	/** 
	 * Metodo che restituisce il numero del pin associato al Conto.
	 * @return {@link Integer}	Pin del conto.
	 */
	int getPin();

	/** 
	 * Metodo che setta il numero del pin associato al Conto.
	 * @param pin	Pin da assegnare al conto.
	 */
	void setPin(int pin);

	/** 
	 * Metodo che restituisce il valore relativo allo stato di bloccaggio del conto.
	 * @return {@link Integer}	Valore bloccaggio conto.
	 */
	int getBloccato();

	/** 
	 * Metodo che setta il valore che indica lo stato di bloccaggio del conto.
	 * @param bloccato	Valore da assegnare al bloccaggio del conto.
	 */
	void setBloccato(int bloccato);

	/**
	 * Restituisce il numero del cliente associato al conto.
	 * @return the numCliente	Numero cliente del conto.
	 */
	int getNumCliente();

	/**
	 * Setta il numero del cliente associato al conto.
	 * @param numCliente	Numero cliente del conto
	 */
	void setNumCliente(int numCliente);

	/** 
	 * Metodo che restituisce il saldo del conto.
	 * @return {@link Double}	Saldo del conto.
	 */
	double getSaldo();

	/** 
	 * Metodo che setta il saldo del conto.
	 * @param saldo	Valore di saldo da assegnare al conto.
	 */
	void setSaldo(double saldo);
}